<?php

 if (!defined("BASEPATH"))
     exit("No esta permitido el acceso directo");

 /**
  * ---------------------------------------------------------------
  * MODELO APERTURA
  * ---------------------------------------------------------------
  * Ejecuta los métodos de la API y valida
  */
 class Model_apertura extends CI_Model {

     private $errormensaje, $errorcodigo;



     /**
      * ---------------------------------------------------------------
      * CONSTRUCTOR
      * ---------------------------------------------------------------
      * Este constructor carga la clase apertura_class de la API
      * 
      * @author Sergio Morlán Páramo
      */
     public function __construct() {
         // Call the Model constructor
         parent::__construct();
         $this->load->library("api/apertura_class");

     }




     /**
      * Obtenemos el error SQL si es que existe inmediatamente después de que se ejecuta
      * algun query
      * 
      * @return String 
      * @author Sergio Morlán Páramo
      */
     public function get_errormensaje() {
         return $this->errormensaje;

     }




     /**
      * Obtenemos el codigo de error SQL si es que existe inmediatamente después de que se 
      * ejecuta algun query
      * 
      * @return int
      * @author Sergio Morlán Páramo 
      */
     public function get_errorcodigo() {
         return $this->errorcodigo;

     }




     /**
      * Vamos a insertar un apertura para lo que necesitaremos que el envío de los datos sean
      * mediante POST, utilizaremos apertura_class de la API 
      * 
      * @return boolean 
      * @author Sergio Morlán Páramo
      */
     public function agregar() {

         // Asignado los atributos de apertura
         $this->apertura_class->set_id($this->apertura_class->get_siguienteID());
         $this->asignar_atributos();

         // Se  intenta insertar
         if ($this->apertura_class->xnew()) {
             // Si es que el insert se realizó con éxito
             return TRUE;
         } else {
             // Muestra el codigo de error arrojado por Mysql
             $this->errorcodigo = $this->apertura_class->get_error_num();
             $this->errormensaje = $this->apertura_class->get_error_string();
             return FALSE;
         }

     }




     /**
      * Vamos a asignar todos excepto matricula (PK) los atributos del objeto apertura
      * 
      * @access private
      * @author Sergio Morlán Páramo
      */
     private function asignar_atributos() {
         $this->apertura_class->set_grupo($_POST["apertura_grupo"]);
         $this->apertura_class->set_subgrupo($_POST["apertura_subgrupo"]);
         $this->apertura_class->set_asignatura($_POST["apertura_asignatura"]);
         $this->apertura_class->set_profesor($_POST["apertura_profesor"]);
         $this->apertura_class->set_salon($_POST["apertura_salon"]);
         $this->apertura_class->set_lunesInicio($_POST["apertura_lunesInicio"]);
         $this->apertura_class->set_lunesFinal($_POST["apertura_lunesFinal"]);
         $this->apertura_class->set_martesInicio($_POST["apertura_martesInicio"]);
         $this->apertura_class->set_martesFinal($_POST["apertura_martesFinal"]);
         $this->apertura_class->set_miercolesInicio($_POST["apertura_miercolesInicio"]);
         $this->apertura_class->set_miercolesFinal($_POST["apertura_miercolesFinal"]);
         $this->apertura_class->set_juevesInicio($_POST["apertura_juevesInicio"]);
         $this->apertura_class->set_juevesFinal($_POST["apertura_juevesFinal"]);
         $this->apertura_class->set_viernesInicio($_POST["apertura_viernesInicio"]);
         $this->apertura_class->set_viernesFinal($_POST["apertura_viernesFinal"]);
         $this->apertura_class->set_sabadoInicio($_POST["apertura_sabadoInicio"]);
         $this->apertura_class->set_sabadoFinal($_POST["apertura_sabadoFinal"]);
         $this->apertura_class->set_domingoFinal($_POST["apertura_domingoFinal"]);
         $this->apertura_class->set_domingoInicio($_POST["apertura_domingoInicio"]);
         $this->apertura_class->set_cupo($_POST["apertura_cupo"]);
         $this->apertura_class->set_periodo($_POST["apertura_periodo"]);
         $this->apertura_class->set_fechaInicio($_POST["apertura_fechaInicio"]);
         $this->apertura_class->set_fechaFin($_POST["apertura_fechaFin"]);

     }




     /*
       var $id = '';
       var $grupo = '';
       var $subgrupo = '';
       var $asignatura = '';
       var $profesor = '';
       var $salon = '';
       var $lunesInicio = '';
       var $lunesFinal = '';
       var $martesInicio = '';
       var $martesFinal = '';
       var $miercolesInicio = '';
       var $miercolesFinal = '';
       var $juevesInicio = '';
       var $juevesFinal = '';
       var $viernesInicio = '';
       var $viernesFinal = '';
       var $sabadoInicio = '';
       var $sabadoFinal = '';
       var $domingoFinal = '';
       var $domingoInicio = '';
       var $cupo = '';
       var $periodo = '';
       var $fechaInicio = '';
       var $fechaFin = '';
       var $status = '';

       /**
      * Constructor de la clase
      * @author	Jonathan Ruiz

       function __construct()
       {
       parent::__construct();
       }

       /**
      * M�todo que devuelve la lista de apertura
      * @author	Jonathan Ruiz

       function get_lista_apertura()
       {
       //Cargando idioma
       $idioma = $this->config->item('language');
       $this->lang->load('opening', $idioma);

       $this->db->select("CONCAT(IFNULL(A.Grupo, ''), IFNULL(A.Subgrupo, '')) Grupo, " .
       "B.Nombre Asignatura, " .
       "CONCAT(IFNULL(C.Nombre, ''), ' ', IFNULL(C.Apellidos, '')) Profesor, " .
       "D.Numero Salon, " .
       "A.Cupo, " .
       "A.Periodo, " .
       "A.FechaInicio, " .
       "A.FechaFin, " .
       "(CASE A.Status " .
       "	WHEN '0' THEN '" . $this->lang->line('opening_to_pass') . "' " .
       "	WHEN '1' THEN '" . $this->lang->line('opening_approve') . "' " .
       "	WHEN '2' THEN '" . $this->lang->line('opening_incomplete') . "' " .
       "	WHEN '3' THEN '" . $this->lang->line('opening_planned') . "' " .
       "END) Status", FALSE);
       $this->db->from('Apertura A');
       $this->db->join('Asignatura B', 'A.Asignatura = B.Id');
       $this->db->join('Profesor C', 'A.Profesor = C.Id');
       $this->db->join('Sala D', 'A.Salon = D.Id');
       $this->db->order_by("A.Grupo, A.Subgrupo", "asc");

       $query = $this->db->get();
       return $query;
       }

       function insert_entry()
       {
       //$this->cupo = $_POST['cupo'];
       //$this->db->insert('apertura', $this);
       }

       function update_entry()
       {
       //$this->cupo = $_POST['cupo'];
       //$this->db->update('apertura', $this, array('id' => $_POST['id']));
       }

      */
 }

// END Model Class

/* End of file model_apertura.php */
/* Location: ./application/models/model_apertura.php */